Method for compensating for acceleration vector offset, recording medium storing program for executing the method, and related apparatus

ABSTRACT

Embodiments of the invention provide a method for compensating for an acceleration vector offset of an acceleration detector, a recording medium storing a program for executing the method, and an apparatus adapted to perform the method. The method comprises determining whether the acceleration detector is in a stable resting state; if the acceleration detector is determined to be in a stable resting state, then determining whether any one of at least two orthogonal axes is a main axis; and, if the acceleration detector is determined to be in a stable resting state and one of the at least two orthogonal axes is determined to be a main axis, performing an acceleration vector compensation operation to compensate for the acceleration vector offset of the acceleration detector.

BACKGROUND

1. Field of the Invention

Embodiments of the invention relate to a method for compensating for anacceleration vector offset, a recording medium storing a program forexecuting the method, and an apparatus adapted to perform the method. Inparticular, embodiments of the invention relate to method forcompensating for an acceleration vector offset of an acceleration sensoradapted to measure acceleration of a hard disk drive (HDD), a recordingmedium storing a program for executing the method, and an apparatusadapted to perform the method.

This application claims priority to Korean Patent Application No.10-2005-0107014, filed on Nov. 9, 2005, the subject matter of which ishereby incorporated by reference in its entirety.

2. Description of Related Art

A hard disk drive (HDD) is a recording device adapted to storeinformation. Information is recorded on concentric tracks on each of anupper and a lower surface of at least one magnetic disk. Each disk ismounted on a rotating spindle motor, and the information is accessed bya read/write head mounted on an actuator arm rotated by a voice coilmotor (VCM). In order to move the read/write head, the VCM is rotated byapplying electrical current. The read/write head reads the informationrecorded on a surface of a disk by sensing magnetic variations on thesurface of the disk. A current is provided to the read/write head inorder to record information on data tracks of the disk. The providedcurrent generates a magnetic field for magnetizing the surface of thedisk.

HDDs have been continuously reduced in size to the point where they cannow be used in portable mobile devices such as laptop computers, MP3players, cellular phones, and personal digital assistants (PDAs).

Portable mobile devices are frequently carried and thus are at risk ofbeing dropped. Dropping a portable mobile device can cause damage (i.e.,shock damage) to heads and disks of an HDD in the portable mobiledevice. Thus, in a portable mobile device comprising an HDD, the HDDneeds to be protected when dropping or another motion that may causedamage to the HDD is predicted.

To protect both an HDD disposed in a portable mobile device and itsdata, technology that detects when an HDD is hit, dropped, or vibrated,and that unloads the heads of the HDD, if necessary, has beenintroduced. The purpose of that technology is to protect an HDD fromdamage that may be caused by a hit, drop, or vibration. An example ofsuch technology is disclosed in published Japanese Patent Nos.2000-99182 and 2002-8336, the subject matter of which is herebyincorporated by reference. The technology relates to detecting afree-fall state using a free-fall sensor (FFS), and retracting thehead(s) of an HDD when the free-fall state is detected.

FIG. 1 is a perspective view of an acceleration detector. Theacceleration detector is a 3-axis acceleration detector. Referring toFIG. 1, a FFS 50 comprises a mass 52 and piezo elements 54 attached tomass 52. Mass 52 is subject to movement in the x, y, and z directions incorrespondence with motion of an HDD incorporating FFS 50. Movement ofmass 52 defines the respective amplitudes of electrical-signalsgenerated by piezo elements 54. A vector of movement and/or a vector ofacceleration for mass 52 may be calculated in relation to the respectiveelectrical signals indicating movement in the x, y, and z directions. Afree-fall state may be indicated by the calculated vector(s) of movementand acceleration.

FIGS. 2 and 3 are diagrams for explaining a method for detecting afree-fall state for an HDD. A vector of acceleration representing theaggregated values in each of the principal axes of measurement may beused to detect a free-fall state. That is, as conceptually illustratedin FIG. 2, a falling HDD will experience acceleration under theinfluence of gravity. Detection of this acceleration indicates a afree-fall state for the HDD.

When an acceleration vector is used as a free-fall indicator, it may becalculated as the sum of acceleration vectors in the three principalaxes. This aggregate vector value may then be compared to a thresholdvalue “Th” defined in relation to a sample time period “T_(fall)”. Asfurther illustrated in FIG. 3, when a free-fall state for an HDD isrecognized, a free-fall detection signal “DETECT FREE-FALL” isgenerated. When the free-fall detection signal “DETECT FREE-FALL” isgenerated, the HDD performs a retract operation adapted to park orunload the read/write head(s) of the HDD.

However, the conventional FFS 50 typically suffers from an accelerationvector offset, which is an amount by which a measured accelerationvector differs from a corresponding actual acceleration vector. Theacceleration vector offset is commonly referred to as an “0G offset”,and may be though of as an acceleration vector initially influencing FFS50 even when this device is at rest. As used herein, the indication “G”denotes the acceleration of gravity (i.e., 9.8 m/sec²). Because theacceleration vector offset is a measurement error related to an actualacceleration measurement, the acceleration vector offset must becompensated for to order to properly detect and indicate a free-fallstate using an acceleration vector. The acceleration vector offset maybe caused by variations in ambient operating temperature, supplyvoltage, and manufacturing process.

Each of the three axes of measurement for FFS 50 may include anacceleration value offset. An acceleration value offset is thedifference between a measured acceleration value and a correspondingactual acceleration value. An acceleration vector offset, which is thevector sum of the acceleration value offsets for the three axes, mayresult in false positives or false negatives when detecting whether theFFS 50 is free-falling (i.e., in a free-fall state).

FIGS. 4A and 4B are graphs illustrating false negative and falsepositive detection of a free-fall state, respectively. False negativedetection of free-fall occurs when, as illustrated in FIG. 4A, measuredacceleration vectors are offset from corresponding actual accelerationvectors in a positive direction (i.e., each measured acceleration vectoris greater than the corresponding actual acceleration vector). Falsenegative detection of free-fall means that, even though the FFS 50 is inthe free-fall state, the FFS 50 does not detect that the FFS 50 is inthe free-fall state.

False positive detection of free-fall occurs when, as illustrated inFIG. 4B, measured acceleration vectors are offset from correspondingactual acceleration values in a negative direction (i.e., each measuredacceleration vector is less than the corresponding actual accelerationvector). False positive detection of free-fall means that the FFS 50detects that the FFS 50 is in the free-fall state even though it is not.

Thus, the acceleration vector offset suffered by the FFS 50 must becompensated for so that free-fall can be detected accurately so that anHDD will perform retract operations at the appropriate times.

SUMMARY OF THE INVENTION

Embodiments of the invention provide a method for compensating for anacceleration vector offset of an acceleration detector, a recordingmedium storing a program for executing the method, and an apparatusadapted to perform the method.

One aspect of the invention provides a method for compensating for anacceleration vector offset of an acceleration detector adapted to outputmeasured acceleration values for at least two orthogonal axes. Themethod comprises determining whether the acceleration detector is in astable resting state by evaluating measured acceleration vectorsobtained during a first time period, wherein the measured accelerationvectors are calculated using the measured acceleration values. Themethod further comprises, if the acceleration detector is determined tobe in a stable resting state, then determining whether any one of the atleast two orthogonal axes is a main axis using the measured accelerationvalues; and, if the acceleration detector is determined to be in astable resting state and one of the at least two orthogonal axes isdetermined to be a main axis, performing an acceleration vectorcompensation operation to compensate for the acceleration vector offsetof the acceleration detector.

Another aspect of the invention provides a computer-readable recordingmedium storing a program for executing a method for compensating for anacceleration vector offset of an acceleration detector adapted to outputmeasured acceleration values for at least two orthogonal axes. Themethod comprises determining whether the acceleration detector is in astable resting state by evaluating measured acceleration vectorsobtained during a first time period, wherein the measured accelerationvectors are calculated using the measured acceleration values. Themethod further comprises, if the acceleration detector is determined tobe in a stable resting state, then determining whether any one of the atleast two orthogonal axes is a main axis using the measured accelerationvalues; and, if the acceleration detector is determined to be in astable resting state and one of the at least two orthogonal axes isdetermined to be a main axis, performing an acceleration vectorcompensation operation to compensate for the acceleration vector offsetof the acceleration detector.

Still another aspect of the invention provides an apparatus adapted tocompensate for an acceleration vector offset of an accelerationdetector. The apparatus comprises the acceleration detector, wherein theacceleration detector is adapted to output measured acceleration valuesfor at least two orthogonal axes; and, a controller adapted tocompensate for the acceleration vector offset of the accelerationdetector. The controller is adapted to determine whether theacceleration detector is in a stable resting state by evaluatingmeasured acceleration vectors obtained during a first time period,wherein the measured acceleration vectors are calculated using themeasured acceleration values; determine whether any one of the at leasttwo orthogonal axes is a main axis using the measured accelerationvalues, if the acceleration detector is determined to be in a stableresting state; and, perform an acceleration vector compensationoperation to compensate for the acceleration vector offset of theacceleration detector, if the acceleration detector is determined to bein a stable resting state and one of the at least two orthogonal axes isdetermined to be a main axis.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention will be described with reference to theaccompanying drawings, in which like reference symbols indicate like orsimilar elements throughout. In the drawings:

FIG. 1 is a perspective view of an acceleration detector;

FIGS. 2 and 3 are diagrams for explaining a method for detectingfree-fall;

FIGS. 4A and 4B are graphs illustrating false negative and falsepositive detection of free-fall, respectively;

FIG. 5 is a diagram illustrating variation in an acceleration vectoroffset in accordance with variation in an acceleration value offset;

FIG. 6 is a flowchart illustrating a method for compensating for anacceleration vector offset in an acceleration detector in accordancewith an embodiment of the invention;

FIGS. 7A through 7C show variation in measured acceleration vectors anddata related to the variation in the measured acceleration vectors;

FIGS. 8A and 8B are diagrams illustrating variance in measuredacceleration vectors;

FIG. 9A shows acceleration vector data when an acceleration vectoroffset compensation operation is not performed;

FIG. 9B shows the result of a method for performing an accelerationvector offset compensation operation in accordance with an embodiment ofthe invention;

FIGS. 10A and 10B show the result obtained by performing an accelerationvector offset compensation operation by compensating for an accelerationvalue offset of a z-axis of an acceleration detector in accordance withan embodiment of the invention, wherein the z-axis is orientedsubstantially towards the center of the Earth;

FIG. 11 is a table illustrating results obtained by performing afree-fall detection false positive test;

FIG. 12 is a schematic plan view of a hard disk drive (HDD) adapted toperform an acceleration vector offset compensation method in accordancewith an embodiment of the invention; and,

FIG. 13 is a block diagram of a control apparatus adapted to control theHDD illustrated in FIG. 12, in accordance with an embodiment of theinvention.

DESCRIPTION OF EMBODIMENTS

If an acceleration vector a has no offset, then the acceleration vectora may be obtained using Equation 1.a=√{square root over (a_(x) ² +a _(y) ² +a _(z) ²)}  (1)

As used herein, x-, y-, and z-axes are defined in relation to afree-fall sensor (FFS), and a_(x), a_(y), and a_(z) are measuredacceleration values for the x-, y-, and z-axes, respectively, measuredby the FFS when there is no acceleration vector offset in the FFS.

In reality, however, measured acceleration values output by an FFSdiffer from the corresponding ideal measurement values due to offsets(i.e., acceleration value offsets) in the FFS. In addition, each axismay have a different acceleration value offset.

When taking the offsets into account, measured acceleration valuesa_(xm), a_(ym), and a_(zm) for the x-, y-, and z-axes, respectively, areobtained using the set of Equations 2.a _(xm) =a _(x) +Δa _(x)a _(ym) =a _(y) +Δa _(y)a _(zm) =a _(z) +Δa _(z)  (2)

As used herein, Δa_(x), Δa_(y), and Δa_(z) are acceleration valueoffsets for the x-, y-, and z-axes, respectively.

When measured acceleration values have acceleration value offsets, ameasured acceleration vector a_(m) is obtained using Equation 3.a _(m)=√{square root over ((a _(x) +Δa _(x))²+(a _(y) +Δa _(y))²+(a _(z)+Δa _(z))²)}{square root over ((a _(x) +Δa _(x))²+(a _(y) +Δa _(y))²+(a_(z) +Δa _(z))²)}{square root over ((a _(x) +Δa _(x))²+(a _(y) +Δa_(y))²+(a _(z) +Δa _(z))²)}=a+Δa  (3)

As used herein, Δa is an acceleration vector offset. In addition, asused herein, when a value or vector is said to “have” or “comprise” anoffset, it means that the value or vector differs from the correspondingactual value or vector by the amount of the offset. Also, as usedherein, when a measured acceleration vector a_(m) is said to be“obtained” it means that measured acceleration values are obtained froman acceleration detector and the measured acceleration vector a_(m) iscalculated from the measured acceleration values.

Although the acceleration value offsets Δa_(x), Δa_(y), and Δa_(z) ofEquation 3 cannot be measured, the acceleration vector offset Δa can beestimated when certain conditions are satisfied.

As used herein, when an acceleration detector is said to be in a “stableresting state” it means that the acceleration detector is notaccelerating in any direction. In addition, an FSS is an accelerationdetector. Additionally, as used herein, a_(g) is the acceleration vectorfor the FFS when the FFS is not accelerating in any direction. So,assuming that the FFS is in a stable resting state, the accelerationvector offset Δa can be obtained using Equation 4.Δa=a _(m) −a _(g)  (4)

The acceleration vector a_(g) can be obtained from a specification forthe FSS provided by the manufacturer of the FFS. Thus, the accelerationvector offset Δa can be calculated by subtracting the accelerationvector a_(g) (provided by the manufacturer) from the measuredacceleration vector a_(m), wherein the measured acceleration vectora_(m) comprises an acceleration vector offset Δa in a stable restingstate, and wherein the acceleration vector offset comprises a pluralityof components.

However, even when the FFS is in a stable resting state, components ofthe acceleration vector offset Δa cannot be calculated using onlyEquation 4 because the respective acceleration value offsets Δa_(x),Δa_(y), and Δa_(z) of the x-, y-, and z-axes, respectively, may bedifferent from one another, as described above.

For example, even when the FFS is in a stable resting state, themeasured acceleration values of x-, y-, and z-axes may vary inaccordance with an initial state for the HDD.

However, the acceleration vector offset Δa can be estimated when thefollowing conditions are met: (1) the HDD is in a stable resting statefor at least a predetermined amount of time; and (2) the absolute valueof the measured acceleration value for a main axis selected from amongthe x-axis, the y-axis, and the z-axis is much greater than therespective measured acceleration values for the remaining axes. As usedherein, a “main axis” is an axis oriented substantially towards thecenter of the Earth, and one of the axes of the FFS is a main axis ifthat axis is oriented substantially towards the center of the Earth.

It is possible to fully satisfy condition (1) because the HDD is notalways in motion, and it is also possible to fully satisfy condition (2)because the HDD can be laid on a plane substantially parallel to theground for at least a predetermined amount of time.

The measured acceleration vector value offset Δa can be obtained usingEquation 5.Δa=f(Δa _(x) ,Δa _(y) , Δa _(z))  (5)

The acceleration vector offset Δa is non-linear with respect to theacceleration value offsets Δa_(x), Δa_(y), and Δa_(z) for the x-, y-,and z-axes, respectively. However, if any one of the acceleration valueoffsets Δa_(x), Δa_(y), and Δa_(z) is much greater than the others, theacceleration vector offset Δa of Equation 5 can be approximated usingEquation 6.Δa≅f(Δa _(i))  (6)

As used herein, Δa_(i) denotes the acceleration value offset of the mainaxis i, which is either the x-, y-, or z-axis. As used herein, i standsfor one of x, y, and z.

If the HDD is laid flat on a plane substantially parallel to the ground,the main axis (which is usually the z-axis) is oriented to the center ofthe Earth, and the other axes are parallel to the surface of the Earth.When the HDD is oriented in this way, the measured acceleration valuefor the main axis actually determines the measured acceleration vectora_(m).

FIG. 5 is a diagram illustrating variation in an acceleration vectoroffset Δa in accordance with variation in an acceleration value offsetΔa_(x). In FIG. 5, the vertical axis represents the magnitude of theacceleration vector offset Δa and the horizontal axis represents theacceleration value offset Δa_(x). In addition, in FIG. 5, referencenumeral 502 indicates a line illustrating a relationship between theacceleration vector offset Δa and the acceleration value offset Δa_(x)when the x-axis is the main axis, and reference numeral 504 indicates acurve illustrating a relationship between the acceleration vector offsetΔa and the acceleration value offset Δa_(x) when the x-axis is not themain axis.

Referring to FIG. 5, while the acceleration vector offset Δa varieslinearly with respect to the acceleration value offset Δa_(x) when thex-axis is the main axis, the acceleration vector offset Δa varies onlyslightly with respect to acceleration value offsets of axes that are notthe main axis (i.e., with respect to the acceleration value offsetΔa_(x) when the x-axis is not the main axis).

Thus, the acceleration vector offset Δa can be sufficiently compensatedfor (i.e., a sufficient compensation effect can be obtained) bycompensating for only the acceleration value offset of the main axis.

FIG. 6 is a flowchart illustrating a method for compensating for anacceleration vector offset in an acceleration detector in accordancewith an embodiment of the invention. The method for compensating for anacceleration vector offset in an acceleration detector, in accordancewith an embodiment of the invention, will now be described withreference to FIG. 6.

At step S602, the measured acceleration values a_(xm), a_(ym), anda_(zm) of the x-, y-, and z-axes, respectively, are obtained from theFFS.

At step S604, a temperature compensation operation is performed in orderto influence the measured acceleration values a_(xm), a_(ym), and a_(zm)of the x-, y-, and z-axes, respectively. The measured accelerationvalues a_(xm), a_(ym), and a_(zm) measured by the FFS vary linearly withtemperature. Thus, the temperature compensation operation is performed.In addition, the temperature compensation operation is performed inproportion to a difference between a measured temperature and areference temperature in order to influence the measured accelerationvalues a_(xm), a_(ym), and a_(zm).

At step S606, whether or not the FFS is in a stable resting state isdetermined. If the FFS is determined not to be in a stable restingstate, offset compensation is not performed, and a free-fall detectionprocess (as illustrated in FIGS. 2 and 3) is performed. If the FFS isdetermined to be in a stable resting state, then the method proceeds tostep S608.

At step S608, whether or not one of the axes of the FFS is a main axisis determined. As described previously, one of the axes of the FFS is amain axis if it is oriented substantially towards the center of theEarth. If, at step S608, none of the axes is determined to be a mainaxis (i.e., if a main axis is not present), then offset compensation isnot performed and a free-fall detection process as illustrated in FIGS.2 and 3 is performed. If, at step S608, one of the axes of the FFS isdetermined to be a main axis (i.e., if a main axis is present), then themethod proceeds to step S610 to perform an acceleration vector offsetcompensation operation.

At step S610, an acceleration vector offset compensation operation,which is a process for compensating for the acceleration vector offsetof the FFS, is performed at least once. In accordance with an embodimentof the invention, the acceleration vector offset compensation operationcompensates for the acceleration vector offset of the FFS bycompensating for the acceleration value offset of the main axis.

Various of the steps described above with reference to FIG. 6 will nowbe described in more detail.

A method for determining whether the FFS is in a stable resting state,in accordance with an embodiment of the invention, will now be describedwith reference to FIGS. 7A through 7C, which show variation in measuredacceleration vectors and data related to the variation in the measuredacceleration vectors.

Referring to FIG. 7, to determine whether the FFS is in a stable restingstate, for each time interval having a length equal to Δt (in FIG. 7,tΔ_(—) _(T) _(—) _(s1) and tΔ_(—) _(T) _(—) _(s1) each have a lengthequal to Δt), data related to the measured acceleration vectors a_(m)shown in FIG. 7A is evaluated. In accordance with an embodiment of theinvention, for each time interval (i.e., sampling period) having alength equal to Δt, a variance a_(variance) of the measured accelerationvector a_(m) is compared to a variance threshold (i.e., reference value)and a mean a_(mean) of the measured acceleration vector a_(m) iscompared to a mean range (i.e., mean reference values).

For example, if a measured acceleration vector a_(m) is obtained (i.e.,measured) every 2 ms, a measured acceleration vector a_(m) is obtained100 times over the course of 2 seconds. For each 2-second period of timeduring which measured acceleration vectors a_(m) are obtained, thevariance a_(variance) and the mean a_(mean) of the measured accelerationvectors a_(m) obtained during that 2-second time period are calculatedand compared to a threshold value and a range, respectively, and whetheror not the FFS is in a stable resting state is determined in accordancewith the results of the comparisons.

Still referring to FIG. 7, in accordance with an embodiment of theinvention, the FFS is determined to be in a stable resting state if thedifference between the mean a_(mean) of the measured accelerationvectors a_(m) obtained during a time period Δt and the measuredacceleration vector a_(m) obtained at the final edge T_s (i.e., at theend) of the time period Δt is within a mean range Th_min_mean toTh_max_mean and the variance a_(variance) of the measured accelerationvectors a_(m) obtained during the time period Δt is below a variancethreshold Th_variance.

If the variance a_(variance) of the measured acceleration vectors a_(m)obtained during a time period Δt is greater than the variance thresholdTh_variance, or if the difference between the mean a_(mean) of themeasured acceleration vectors a_(m) obtained during a time period Δt andthe measured acceleration vector a_(m) obtained at an edge T_s (i.e., atthe end) of the time period Δt is greater than the threshold Th_max_meanor smaller than threshold Th_min_mean (i.e., is within a mean rangeTh_max_mean to Th_min_mean), the FFS is determined to not be in a stableresting state. That is, the acceleration vector offset compensationoperation is not performed.

As an example, referring to FIG. 7, the FFS is determined to be in astable resting state if, referring to a first time period tΔ_(—) _(T)_(—) _(s1) , the difference between the mean a_(mean) _(—) _(t) _(—)_(s1) of the measured acceleration vectors a_(m) obtained during a firsttime period tΔ_(—) _(T) _(—) _(s1) and the measured acceleration vectora_(—) _(t) _(—) _(s1) obtained at the final edge T_s1 of first timeperiod tΔ_(—) _(T) _(—) _(s1) is within a mean range Th_min_mean toTh_max_mean, and the variance a_(variance) of the measured accelerationvectors a_(m) obtained during the first time period tΔ_(—) _(T) _(—)_(s1) is below a variance threshold Th_variance.

In accordance with an embodiment of the invention, the time period Δtmay be set to have a length of at most 2 seconds. When an HDD free-fallsfor 2 seconds the HDD falls 25 m, so variations in the measuredacceleration vector a_(m) do not need to be evaluated for a period oftime longer than 2 seconds. Thus, if there is relatively low variationin the measured acceleration vectors a_(m) obtained during a time periodof up to 2 seconds, it can be determined that the FFS is in a stableresting state.

FIGS. 8A and 8B are diagrams illustrating variance in measuredacceleration vectors a_(m). FIG. 8A illustrates a scenario in which thevariance a_(variance) of measured acceleration vectors a_(m) isrelatively great and FIG. 8B illustrates a scenario in which thevariance a_(variance) of measured acceleration vectors a_(m) isrelatively small. When the variance a_(variance) of the measuredacceleration vector a_(m) is relatively great, measured accelerationvectors a_(m) measured every 2 ms vary significantly (i.e., theacceleration detector is experiencing a relatively large amount ofmotion), while the mean a_(mean) of the measured acceleration vectora_(m) measured for 2 seconds may be constant. Thus, even if the meana_(mean) of the measured acceleration vector a_(m) is constant, if thevariance a_(variance) of the measured acceleration vector a_(m) isrelatively great, the corresponding FFS cannot be determined to be in astable resting state.

Since variations of measured acceleration vectors a_(m) may besignificantly high due to noise, a moving average value may be used. Inaccordance with one embodiment of the invention, a moving average offour samples may be used.

Since measured acceleration vectors a_(m) may vary gradually and slowly,a measured acceleration vector a_(m) is sampled at the edge (i.e., end)of each sampling period.

Referring again to FIG. 6, as described above, if the FFS is determinedto be in a stable resting state, and thus a first condition forperforming an acceleration vector compensation operation is satisfied,then whether or not one of the axes of the FFS is a main axis isdetermined at step S608.

To determine which axis (if any) is the main axis, the set of Equations7 is used.

$\begin{matrix}{{{a_{xm}} \geq ( {{a_{ym}} + {a_{zm}}} )}{{a_{ym}} \geq ( {{a_{xm}} + {a_{zm}}} )}{{a_{zm}} \geq ( {{a_{xm}} + {a_{ym}}} )}} & (7)\end{matrix}$

If any one of the equations of the set of Equations 7 is satisfied, theacceleration vector offset compensation operation is performed using thei-axis corresponding to the measured acceleration value a_(im) on theleft-hand-side of the satisfied equation as the main axis. Measuredacceleration value a_(im) is a measured acceleration value for thei-axis, which, as described previously, is one of the x-, y-, andz-axes.

When a_(i) is the measured acceleration value for the main axis when themeasured acceleration value for the main axis comprises no accelerationvalue offset (i.e., measured acceleration value a_(i) is the actualacceleration value for the main axis) and a_(im) is the measuredacceleration value for the main axis when the measured accelerationvalue for the main axis comprises an acceleration value offset Δa_(i)(i.e., a_(im)=a_(i)+Δa_(i)), an acceleration compensation valueΔa_(iadj) for the main axis is obtained using Equation 8.a _(i) =a _(im) +Δa _(iadj) =a _(i) +Δa _(i) +Δa _(adi)Δa _(iadj) =−Δa _(i)  (8)

When the FFS is in a stable resting state and a main axis exists, theacceleration value offset Δa_(i) for the main axis can be approximatedas the acceleration vector offset Δa. Thus, the main axis accelerationcompensation value Δa_(iadj) is obtained using Equation 9.Δa _(iadj)=−(Δa)  (9)

In reality, the operation for compensating for the acceleration valueoffset for the main axis Δa_(i) is performed in relation to the sign ofthe acceleration vector offset Δa and the sign of the acceleration valueoffset for the main axis Δa_(i). In addition, the operation forcompensating for the acceleration value offset for the main axis Δa_(i)is performed iteratively, and the main axis acceleration compensationvalue Δa_(iadj) for each iterative step may be obtained using Equation10.

$\begin{matrix}{{\Delta\; a_{iadjcur}} = {{\Delta\; a_{iadjpre}} + {{( {\Delta\;{a/2}} ) \cdot {{sign}{\;\;}( {\Delta\mspace{11mu} a} )} \cdot {sign}}\mspace{11mu}{( a_{i} ) \cdot ( {- 1} )}}}} & (10)\end{matrix}$

As used herein, Δa_(iadjcur) denotes a compensation value to be appliedin the current step and Δa_(iadjpre) denotes a compensation value thatwas applied in the previous step. The value (−1) at the end of Equation10 ensures that the current compensation value Δa_(iadjcur) has anopposite sign compared to the previous compensation value Δa_(iadjpre)(i.e., the current compensation step is performed in the oppositedirection compared to the previous compensation step). In the initialcompensation step, Δa_(iadjpre) is 0.

Referring again to FIG. 6, in step S610, the compensation operationperformed using the compensation value obtained using Equation 10 isrepeated until the main axis acceleration compensation value Δa_(iadj)is smaller than a predetermined value.

FIG. 9A shows acceleration vector data when an acceleration vectoroffset compensation operation is not performed, and FIG. 9B shows theresult of a method for performing an acceleration vector offsetcompensation operation in accordance with an embodiment of theinvention. In FIGS. 9A and 9B, line 902 denotes acceleration vectora_(g), which comprises no acceleration vector offset Δa, and curves 904and 906 each denote a measured acceleration vector a_(m).

Referring to FIG. 9B, the acceleration vector offset compensationoperation is performed in steps of half of the initial accelerationvector offset over a period of 2 seconds.

FIGS. 10A and 10B show the result obtained by performing an accelerationvector offset compensation operation by compensating for an accelerationvalue offset of a z-axis of an acceleration detector in accordance withan embodiment of the invention, wherein the z-axis is orientedsubstantially towards the center of the Earth.

In FIGS. 10A and 10B, a line 1002 represents an acceleration vectorcomprising no acceleration vector offset. In FIG. 10A, a curve 1004represents a measured acceleration vector comprising an accelerationvector offset after an acceleration vector offset operation has beenperformed to compensate for that acceleration vector offset. In FIG.10B, a curve 1006 represents a measured acceleration vector comprisingan acceleration vector offset, wherein an acceleration vector offsetcompensation operation is not performed to compensate for thatacceleration vector offset.

Referring to FIGS. 10A and 10B, as shown by the curves 1004 and 1006,the acceleration vector offset is significantly reduced (i.e., improved)by the acceleration vector offset compensation operation compared towhen the operation is not performed.

FIG. 11 is a table illustrating results obtained by performing afree-fall detection false positive test. The test is performed 50 timeson an HDD free-falling downwardly along a z-axis (indicated as Z-DOWN inFIG. 11), wherein the HDD uses the method for compensating for anacceleration vector offset in accordance with an embodiment of theinvention, and 50 times on an HDD free-falling downwardly along az-axis, wherein the HDD does not use the method. The test is alsoperformed 50 times on an HDD free-falling while rotating randomly(indicated as RANDOM in FIG. 11), wherein the HDD uses the method forcompensating for acceleration vector offset in accordance with anembodiment of the invention, and 50 times on an HDD free-falling whilerotating randomly, wherein the HDD does not use the method.

Referring to FIG. 11, the number of false detections is significantlyreduced by performing the offset compensation, with an improvement ofabout 50% for the random motion and about 80% for the z-down motion.

FIG. 12 is a schematic plan view of an HDD 100 adapted to perform anacceleration vector offset compensation method in accordance with anembodiment of the invention.

Referring to FIG. 12, the HDD 100 comprises at least one disk 112 and aspindle motor 114 adapted to rotate the at least one disk 112. The HDD100 also comprises at least one head 116 disposed above the surface ofthe disk 112.

The head 116 is adapted to read information from the rotating disk 112by sensing a magnetic field on the surface of the disk 112, and isadapted to write information to the rotating disk 112 by magnetizing thesurface of the disk 112. Though a single head 116 is shown in FIG. 12,the head 116 comprises a write head adapted to magnetize the disk 112and a separate read head adapted to sense a magnetic field on the disk112.

The head 116 can be mounted on a slider (not shown). The slidergenerates an air bearing between the head 116 and the surface of thedisk 112. The slider is combined with a suspension 120. The suspension120 is attached to a head stack assembly (HSA) 122. The HSA 122 isattached to an actuator arm 124 comprising a voice coil 126. The voicecoil 126 is disposed adjacent to a magnetic assembly 128 adapted tosupport a voice coil motor (VCM) 130. A current provided to the voicecoil 126 generates torque which rotates the actuator arm 124 around abearing assembly 360. The rotation of the actuator arm 124 moves thehead 116 across the surface of the disk 112.

Information is stored in concentric tracks of the disk 112. In general,the disk 112 comprises a data zone in which user data is recorded, aparking zone in which the head 116 is disposed when the HDD 100 is notbeing used, and a maintenance cylinder.

FIG. 13 is a block diagram of a control apparatus 200 adapted to controlthe HDD 100 illustrated in FIG. 12, in accordance with an embodiment ofthe invention.

Referring to FIG. 13, the control apparatus 200 comprises a controller202 connected to the head 116 through a read/write (RAN) channel circuit204 and a read pre-amplifier & write drive circuit 206. The controller202 is a digital signal processor (DSP), a microprocessor, or amicro-controller.

The controller 202 provides a control signal to the R/W channel circuit204 in order to read data from or write data to the disk 112.

Information is typically transmitted from the R/W channel circuit 204 toa host interface circuit 210. The host interface circuit 210 comprises acontrol circuit (not shown) adapted to interface with a host computer(not shown) such a personal computer (PC).

In a read mode, the R/W channel circuit 204 is adapted to convert ananalog signal read by the head 116 and amplified by the readpre-amplifier & write drive circuit 206 to a digital signal that a hostcomputer can read, and output the digital signal to the host interfacecircuit 210. In a write mode, the R/W channel circuit 204 is adapted toreceive user data from the host computer via the host interface circuit210, convert the user data to a write current that can be recorded ontoa disk, and output the write current to the read pre-amplifier & writedrive circuit 206.

The controller 202 is also connected to a VCM driver 208 adapted toprovide a driving current to the voice coil 126. The controller 202 isadapted to provide a control signal to the VCM driver 208 to control theVCM 130 and the motion of the head 116.

The controller 202 is also connected to a nonvolatile memory, such as aread only memory (ROM) 214 or a flash memory, and a random access memory(RAM) 216. The memories 214 and 216 store software routines and data,which are used by the controller 202 to control the HDD 100. One of thestored software routines is a software routine for performing theacceleration vector offset compensation operation illustrated in FIG. 6.

The controller 202 periodically performs the software routine forperforming the acceleration vector offset compensation operation (i.e.,for compensating for acceleration value offset in acceleration valuesmeasured by an FFS 212).

After the HDD 100 is initialized, the controller 202 performs thesoftware routine for performing the acceleration vector offsetcompensation operation illustrated in FIG. 6 over a period of 2 seconds.The software routine compensates for an acceleration value offset inmeasured acceleration values measured by the FFS 212.

In the acceleration vector offset compensation operation, the controller202 performs temperature compensation by determining measurement valuesof the FFS 212 at predetermined intervals. The controller 202 adjuststhe temperature of the HDD in proportion to the difference between areference temperature and the current temperature of the HDD obtained inaccordance with a temperature detected by a temperature detector 218.

In addition, the controller 202 determines whether the FFS 212 is in astable resting state and whether a main axis exists in compensating foracceleration value offset in measured acceleration values measured bythe FFS 212.

In more detail, if the FFS 212 is determined to be in a stable restingstate and it is determined that a main axis exists, the controller 202obtains a compensation value for the main axis using an accelerationvector offset of an acceleration vector, the sign of the accelerationvector offset, a measured acceleration value for the main axis, and thesign of the measured acceleration value. The controller 202 thencompensates for the acceleration value offset of the main axis andthereafter detects a free-fall state using measured acceleration vectorsobtained using measured acceleration values obtained after thecontroller 202 has compensated for the acceleration value offset of themain axis.

Embodiments of the invention may take the form of a method, anapparatus, and/or a system. When an embodiment of the invention isimplemented as software, components of the embodiment are implemented ascode segments for executing required operations. A program or the codesegments can be stored in a processor readable recording medium. Theprocessor readable recording medium is any data storage device that canstore data which can be read thereafter by a computer system. Examplesof the processor readable recording medium include electronic circuits,semiconductor memory devices, read-only memory (ROM), flash memory,erasable ROM, floppy disks, optical discs, hard disks.

As described above, since an acceleration vector offset compensationmethod in accordance with an embodiment of the invention can reducefalse detection of a free-fall state by compensating for accelerationvalue offset in acceleration values measured by an FFS (i.e., measuredacceleration values), the reliability of an HDD can be improved becausean HDD using the method can better protect itself from being damaged.

Although embodiments of the invention have been described herein,various changes in form and detail may be made therein by those skilledin the art without departing from the scope of the invention as definedby the accompanying claims.

1. A method for compensating for an acceleration vector offset of anacceleration detector adapted to output measured acceleration values forat least two orthogonal axes, the method comprising: determining whetherthe acceleration detector is in a stable resting state by evaluatingmeasured acceleration vectors obtained during a first time period,wherein the measured acceleration vectors are calculated using themeasured acceleration values; if the acceleration detector is determinedto be in a stable resting state, then determining whether any one of theat least two orthogonal axes is a main axis using the measuredacceleration values; and, if the acceleration detector is determined tobe in a stable resting state and one of the at least two orthogonal axesis determined to be a main axis, performing an acceleration vectorcompensation operation to compensate for the acceleration vector offsetof the acceleration detector.
 2. The method of claim 1, whereindetermining whether the acceleration detector is in a stable restingstate comprises determining that the acceleration detector is in astable resting state when: a variance of the measured accelerationvectors obtained during the first time period is less than a variancethreshold; and, a mean value of the measured acceleration vectorsobtained during the first time period is within a mean range.
 3. Themethod of claim 2, wherein the first time period lasts for no more than2 seconds.
 4. The method of claim 1, wherein determining whether theacceleration detector is in a stable resting state comprises: applying amoving average to the measured acceleration vectors; and, determiningthat the acceleration detector is in a stable resting state when: avariance of the measured acceleration vectors obtained during the firsttime period is less than a variance threshold; and, a mean value of themeasured acceleration vectors obtained during the first time period iswithin a mean range.
 5. The method of claim 1, wherein: determiningwhether any one of the at least two orthogonal axes is a main axis usingthe measured acceleration values comprises determining that a first axisof the at least two orthogonal axes is a main axis when the absolutevalue of a measured acceleration value for the first axis is greaterthan the sum of the absolute values of measured acceleration values foreach of the remaining axes of the at least two orthogonal axes; and, themeasured acceleration values comprise both the measured accelerationvalue for the first axis and the measured acceleration values for eachof the remaining axes of the at least two orthogonal axes.
 6. The methodof claim 1, wherein performing an acceleration vector compensationoperation to compensate for the acceleration vector offset of theacceleration detector comprises: calculating the acceleration vectoroffset; and, compensating for an acceleration value offset for the mainaxis in accordance with the acceleration vector offset.
 7. The method ofclaim 1, further comprising performing a temperature compensationoperation before performing the acceleration vector compensationoperation to compensate for the acceleration vector offset of theacceleration detector.
 8. A computer-readable recording medium storing aprogram when executed by a processor perform method for compensating foran acceleration vector offset of an acceleration detector adapted tooutput measured acceleration values for at least two orthogonal axes,the method comprising: determining whether the acceleration detector isin a stable resting state by evaluating measured acceleration vectorsobtained during a first time period, wherein the measured accelerationvectors are calculated using the measured acceleration values; if theacceleration detector is determined to be in a stable resting state,then determining whether any one of the at least two orthogonal axes isa main axis using the measured acceleration values; and, if theacceleration detector is determined to be in a stable resting state andone of the at least two orthogonal axes is determined to be a main axis,performing an acceleration vector compensation operation to compensatefor the acceleration vector offset of the acceleration detector.
 9. Therecording medium of claim 8, wherein determining whether theacceleration detector is in a stable resting state comprises determiningthat the acceleration detector is in a stable resting state when: avariance of the measured acceleration vectors obtained during the firsttime period is less than a variance threshold; and, a mean value of themeasured acceleration vectors obtained during the first time period iswithin a mean range.
 10. The recording medium of claim 9, wherein thefirst time period lasts for no more than 2 seconds.
 11. The recordingmedium of claim 8, wherein determining whether the acceleration detectoris in a stable resting state comprises: applying a moving average to themeasured acceleration vectors; and, determining that the accelerationdetector is in a stable resting state when: a variance of the measuredacceleration vectors obtained during the first time period is less thana variance threshold; and, a mean value of the measured accelerationvectors obtained during the first time period is within a mean range.12. The recording medium of claim 8, wherein: determining whether anyone of the at least two orthogonal axes is a main axis using themeasured acceleration values comprises determining that a first axis ofthe at least two orthogonal axes is a main axis when the absolute valueof a measured acceleration value for the first axis is greater than thesum of the absolute values of measured acceleration values for each ofthe remaining axes of the at least two orthogonal axes; and, themeasured acceleration values comprise both the measured accelerationvalue for the first axis and the measured acceleration values for eachof the remaining axes of the at least two orthogonal axes.
 13. Therecording medium of claim 8, wherein performing an acceleration vectorcompensation operation to compensate for the acceleration vector offsetof the acceleration detector comprises: calculating the accelerationvector offset; and, compensating for an acceleration value offset forthe main axis in accordance with the acceleration vector offset.
 14. Therecording medium of claim 8, further comprising performing a temperaturecompensation operation before performing the acceleration vectorcompensation operation to compensate for the acceleration vector offsetof the acceleration detector.
 15. The recording medium of claim 8,wherein in the determination of whether the main axis exists, when anaxis having an absolute value of an acceleration detection value greaterthan a sum of the absolute values of acceleration detection values ofthe other axes exists, the axis is determined to be the main axis. 16.The recording medium of claim 14, wherein in the compensation, an offsetof the main axis is compensated for based on an offset of theacceleration vector.
 17. An apparatus adapted to compensate for anacceleration vector offset of an acceleration detector, the apparatuscomprising: the acceleration detector, wherein the acceleration detectoris adapted to output measured acceleration values for at least twoorthogonal axes; and, a controller adapted to compensate for theacceleration vector offset of the acceleration detector, wherein thecontroller is adapted to: determine whether the acceleration detector isin a stable resting state by evaluating measured acceleration vectorsobtained during a first time period, wherein the measured accelerationvectors are calculated using the measured acceleration values; determinewhether any one of the at least two orthogonal axes is a main axis usingthe measured acceleration values, if the acceleration detector isdetermined to be in a stable resting state; and, perform an accelerationvector compensation operation to compensate for the acceleration vectoroffset of the acceleration detector, if the acceleration detector isdetermined to be in a stable resting state and one of the at least twoorthogonal axes is determined to be a main axis.
 18. The apparatus ofclaim 17, wherein the controller is adapted to compensate for anacceleration value offset of the main axis in accordance with theacceleration vector offset.